package com.example.springdemo.mongodb;

import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import java.util.List;

/**
 * mongo服务层
 * @author zhangding
 * @date 2021年12月16日20:55:17
 */
@Service
public interface MongoService<T> {
    /**
     * 保存对象
     */
    void save(T t);

    /**
     * 根据id或者任意一个条件查询对象
     */
    T queryById(Class<T> cls,String idOrAnyone);

    /**
     * 多个条件查询
     * @param cls
     * @param query
     * @return
     */
    List<T> query(Class<T> cls, Query query);

    /**
     * 更新
     * @param t
     */
    void update(T t);

    /**
     * 根据条件删除
     * @param cls
     * @param query
     */
    void delete(Class<T> cls, Query query);

}
